#pragma once 

#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <assert.h>

#define SIZE 1024
#define SYNC_NOW  1//立即刷新
#define SYNC_LINE 2//行刷新
#define SYNC_FULL 4//全刷新

typedef struct _FILE 
{
    int flags;//刷新方式
    int flieno;//文件描述符
    int cap;//当前缓冲区的总容量
    int size;//当前缓冲区已使用的大小
    char buffer[SIZE];//缓冲区大小
}FILE_;

FILE_ *fopen_(const char *path_name, const char *mode);
void fwrite_(const void *ptr, int num, FILE_ *fp);
void fflush_(FILE_ *fp);
void fclose_(FILE_ *fp);

